/*!
 * \file EventUapMediaBearerSetupReq.h
 * \brief Event carrying message UapMediaBearerSetupRequest
 */

#ifndef SGW_UAP_EVENT_MEDIA_BEARER_SETUP_REQ_H
#define SGW_UAP_EVENT_MEDIA_BEARER_SETUP_REQ_H

#include "EventData.h"
#include "UapGlobals.h"
#include "UAP.pb.h"

namespace tsc
{
namespace sgw
{

using UserApplicationPart::UapMediaBearerSetupRequest;

/**
 * The event indicating UserClient requests media bearer to setup
 * It carries received UapMediaBearerSetupRequest message
 */
class UapEventMediaBearerSetupReq : public common::EventData
{
public:

    UapEventMediaBearerSetupReq(UapMediaBearerSetupRequest& bearerSetupReq) :
		EventData(UAP_MEDIA_BEARER_SETUP_REQ),
		mMediaItemId(bearerSetupReq.mediaitemid()),
		mClientMediaPort(bearerSetupReq.clientmediaport())
	{

	}

	virtual ~UapEventMediaBearerSetupReq()
	{

	}

	uint32_t getMediaItemId() const
	{
		return mMediaItemId;
	}

	uint32_t getClientMediaPort() const
	{
		return mClientMediaPort;
	}

private:
	uint32_t mMediaItemId;
	uint32_t mClientMediaPort;
};

} // namespace sgw
} // namespace tsc

#endif // SGW_UAP_EVENT_MEDIA_BEARER_SETUP_REQ_H
